/**
 * 
 */
package br.com.skynix.tcmc.service.configuracao.rh.posicoes_funcionarios;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import br.com.skynix.tcmc.base.spring.AbstractDao;
import br.com.skynix.tcmc.model.rh.PosicaoFuncionario;

/**
 * @author davi
 * 
 */
@Repository
public class PosicaoFuncionarioDao extends AbstractDao<PosicaoFuncionario> {

	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * br.com.skynix.tcmc.base.spring.AbstractDao#criarCriteria(br.com.skynix
	 * .tcmc.base.model.EntidadeAuditavel)
	 */
	@Override
	protected Criteria criarCriteria(PosicaoFuncionario entidadeExemplo) {
		Criteria criteria = super.criarCriteria(entidadeExemplo);
		if (entidadeExemplo.getEmpresa() != null) {
			criteria.createAlias("empresa", "empresa");
			criteria.add(Restrictions.eq("empresa",
					entidadeExemplo.getEmpresa()));
		}
		if (entidadeExemplo.getCategoriaFuncionario() != null) {
			criteria.createAlias("categoriaFuncionario", "categoriaFuncionario");
			criteria.add(Restrictions.eq("categoriaFuncionario",
					entidadeExemplo.getCategoriaFuncionario()));
		}
		return criteria;
	}

}
